package com.back.demo.service.MyEasyExcel;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import lombok.Getter;

import java.util.ArrayList;
import java.util.Map;

@Getter
public class StudentInformationListener extends AnalysisEventListener<StudentInformationX> {

    // getter
    // 创建list集合封装最终的数据
    private final ArrayList<StudentInformationX> list = new ArrayList<>();

    // 读取excel表头信息时执行
    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
        System.out.println("表头信息：" + headMap);
    }

    // 读取excel内容信息时执行
    // EasyExcel会会一行一行去读取excel内容，每解析excel文件中的一行数据，都会调用一次invoke方法
    @Override
    public void invoke(StudentInformationX studentInformationX, AnalysisContext analysisContext) {
//        System.out.println("***" + studentInformationX);
        list.add(studentInformationX);
    }


    // 读取完成后执行
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
    }

}